package com.itheima.mapper;

import com.itheima.pojo.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface RoleMapper {


    List<Role> findPage(@Param("queryString") String queryString);

    Role findRoleByRoleId(@Param("id") Integer id);

    /**
     * 参数角色与菜单中间表数据
     * @param id
     */
    void deleteRoleAndMenuByRoleId(@Param("id") Integer id);

    /**
     * 根据角色id添加与菜单中间的数据
     * @param id
     * @param menus
     */
    void addRoleAndMenuByMenus(@Param("id") Integer id, @Param("menus") Integer[] menus);

    /**
     * 删除权限与角色的中间表
     * @param id
     */
    void deleteRoleAndPermissionByRoleId(@Param("id") Integer id);

    /**
     * 添加角色与权限中间表数据
     * @param id
     * @param permissions
     */
    void addRoleAndPermissionByRoleId(@Param("id") Integer id, @Param("permissions") Integer[] permissions);

    /**
     * 修改角色表数据
     * @param role
     */
    void updateRole(Role role);

    /**
     * 添加角色表数据
     * @param role
     */
    void addRole(Role role);


    Integer findRoleByRoleName(@Param("name") String name);

    void deleteRoleByRoleId(@Param("id") Integer id);

    List<Role> findRole(@Param("queryString") String queryString);


    List<Role> findRoleAll();

    List<Integer> findRoleByUserId(@Param("id") Integer id);
}
